package o2o.dao.VO.authrole;

import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.io.Serializable;

/**
 * Created with IntelliJ IDEA.
 *
 * @User: @Created by yangtk
 * @Date: @Date 2019/7/12 16:14
 * @Classname: AuthInfoVO
 * @To change this template use File | Settings | File Templates.
 */
// 权限信息表
@Data
@Accessors(chain = true)
@NoArgsConstructor
public class AuthInfoVO implements Serializable, Comparable<AuthInfoVO> {
    private Long id;                    // 权限id
    private String sysAppKey;           // 系统标识
    private Long pId;                   // 上级id
    private String name;                // 权限名称
    private int isAdminCanOwn;          // 代理是否可以拥有
    private int isAgentMangerCanOwn = 0;    // 区域管理里员是不是有这个权限
    private String label;               // 所属标签
    private String code;                // 全新标识code
    private String showName;            // 展示名
    private Integer type;               // 导航类型(1 业务中心 2 营销中心 3 数据中心 4 系统管理 )
    private String path;                // 路径
    private String icon;                // 图标
    private String style;               // 样式
    private int isNavTag = 0;      // 是否有导航栏角标
    private String classes;             // 样式
    private String note;                // 备注
    private Integer delFlag;                // 是否删除

    @Override
    public int compareTo(AuthInfoVO o) {  //重写Comparable接口的compareTo方法，降序
        // 先按isShow排序
        if (this.delFlag > o.getDelFlag()) {
            return (this.delFlag - o.getDelFlag());
        }
        if (this.delFlag < o.getDelFlag()) {
            return (this.delFlag - o.getDelFlag());
        }
        // 按name排序
        if (this.label.compareTo(o.getLabel()) > 0) {
            return 1;
        }
        if (this.label.compareTo(o.getLabel()) < 0) {
            return -1;
        }
        return 0;
    }

}
